home *** CD-ROM | disk | FTP | other *** search
/ AmigActive 10 / AACD 10.iso / AACD / Magazine / Morphos / GCC / lib / gcc-lib / ppc-amigaos / 2.95.1 / sys-include / powerup / ppcpragmas / nonvolatile_pragmas.h < prev    next >
C/C++ Source or Header  |  2000-03-13  |  5KB  |  167 lines

  1. /* Automatically generated header! Do not edit! */
  2.  
  3. #ifndef _PPCPRAGMA_NONVOLATILE_H
  4. #define _PPCPRAGMA_NONVOLATILE_H
  5. #ifdef __GNUC__
  6. #ifndef _PPCINLINE__NONVOLATILE_H
  7. #include <powerup/ppcinline/nonvolatile.h>
  8. #endif
  9. #else
  10.  
  11. #ifndef POWERUP_PPCLIB_INTERFACE_H
  12. #include <powerup/ppclib/interface.h>
  13. #endif
  14.  
  15. #ifndef POWERUP_GCCLIB_PROTOS_H
  16. #include <powerup/gcclib/powerup_protos.h>
  17. #endif
  18.  
  19. #ifndef NO_PPCINLINE_STDARG
  20. #define NO_PPCINLINE_STDARG
  21. #endif/* SAS C PPC inlines */
  22.  
  23. #ifndef NONVOLATILE_BASE_NAME
  24. #define NONVOLATILE_BASE_NAME NVBase
  25. #endif /* !NONVOLATILE_BASE_NAME */
  26.  
  27. #define    DeleteNV(appName, itemName, killRequesters)    _DeleteNV(NONVOLATILE_BASE_NAME, appName, itemName, killRequesters)
  28.  
  29. static __inline BOOL
  30. _DeleteNV(void *NVBase, STRPTR appName, STRPTR itemName, long killRequesters)
  31. {
  32. struct Caos    MyCaos;
  33.     MyCaos.M68kCacheMode    =    IF_CACHEFLUSHALL;
  34. //    MyCaos.M68kStart    =    NULL;
  35. //    MyCaos.M68kSize        =    0;
  36.     MyCaos.PPCCacheMode    =    IF_CACHEFLUSHALL;
  37. //    MyCaos.PPCStart        =    NULL;
  38. //    MyCaos.PPCSize        =    0;
  39.     MyCaos.a0        =(ULONG) appName;
  40.     MyCaos.a1        =(ULONG) itemName;
  41.     MyCaos.d1        =(ULONG) killRequesters;
  42.     MyCaos.caos_Un.Offset    =    (-48);
  43.     MyCaos.a6        =(ULONG) NVBase;    
  44.     return((BOOL)PPCCallOS(&MyCaos));
  45. }
  46.  
  47. #define    FreeNVData(data)    _FreeNVData(NONVOLATILE_BASE_NAME, data)
  48.  
  49. static __inline void
  50. _FreeNVData(void *NVBase, APTR data)
  51. {
  52. struct Caos    MyCaos;
  53.     MyCaos.M68kCacheMode    =    IF_CACHEFLUSHALL;
  54. //    MyCaos.M68kStart    =    NULL;
  55. //    MyCaos.M68kSize        =    0;
  56.     MyCaos.PPCCacheMode    =    IF_CACHEFLUSHALL;
  57. //    MyCaos.PPCStart        =    NULL;
  58. //    MyCaos.PPCSize        =    0;
  59.     MyCaos.a0        =(ULONG) data;
  60.     MyCaos.caos_Un.Offset    =    (-36);
  61.     MyCaos.a6        =(ULONG) NVBase;    
  62.     PPCCallOS(&MyCaos);
  63. }
  64.  
  65. #define    GetCopyNV(appName, itemName, killRequesters)    _GetCopyNV(NONVOLATILE_BASE_NAME, appName, itemName, killRequesters)
  66.  
  67. static __inline APTR
  68. _GetCopyNV(void *NVBase, STRPTR appName, STRPTR itemName, long killRequesters)
  69. {
  70. struct Caos    MyCaos;
  71.     MyCaos.M68kCacheMode    =    IF_CACHEFLUSHALL;
  72. //    MyCaos.M68kStart    =    NULL;
  73. //    MyCaos.M68kSize        =    0;
  74.     MyCaos.PPCCacheMode    =    IF_CACHEFLUSHALL;
  75. //    MyCaos.PPCStart        =    NULL;
  76. //    MyCaos.PPCSize        =    0;
  77.     MyCaos.a0        =(ULONG) appName;
  78.     MyCaos.a1        =(ULONG) itemName;
  79.     MyCaos.d1        =(ULONG) killRequesters;
  80.     MyCaos.caos_Un.Offset    =    (-30);
  81.     MyCaos.a6        =(ULONG) NVBase;    
  82.     return((APTR)PPCCallOS(&MyCaos));
  83. }
  84.  
  85. #define    GetNVInfo(killRequesters)    _GetNVInfo(NONVOLATILE_BASE_NAME, killRequesters)
  86.  
  87. static __inline struct NVInfo *
  88. _GetNVInfo(void *NVBase, long killRequesters)
  89. {
  90. struct Caos    MyCaos;
  91.     MyCaos.M68kCacheMode    =    IF_CACHEFLUSHALL;
  92. //    MyCaos.M68kStart    =    NULL;
  93. //    MyCaos.M68kSize        =    0;
  94.     MyCaos.PPCCacheMode    =    IF_CACHEFLUSHALL;
  95. //    MyCaos.PPCStart        =    NULL;
  96. //    MyCaos.PPCSize        =    0;
  97.     MyCaos.d1        =(ULONG) killRequesters;
  98.     MyCaos.caos_Un.Offset    =    (-54);
  99.     MyCaos.a6        =(ULONG) NVBase;    
  100.     return((struct NVInfo *)PPCCallOS(&MyCaos));
  101. }
  102.  
  103. #define    GetNVList(appName, killRequesters)    _GetNVList(NONVOLATILE_BASE_NAME, appName, killRequesters)
  104.  
  105. static __inline struct MinList *
  106. _GetNVList(void *NVBase, STRPTR appName, long killRequesters)
  107. {
  108. struct Caos    MyCaos;
  109.     MyCaos.M68kCacheMode    =    IF_CACHEFLUSHALL;
  110. //    MyCaos.M68kStart    =    NULL;
  111. //    MyCaos.M68kSize        =    0;
  112.     MyCaos.PPCCacheMode    =    IF_CACHEFLUSHALL;
  113. //    MyCaos.PPCStart        =    NULL;
  114. //    MyCaos.PPCSize        =    0;
  115.     MyCaos.a0        =(ULONG) appName;
  116.     MyCaos.d1        =(ULONG) killRequesters;
  117.     MyCaos.caos_Un.Offset    =    (-60);
  118.     MyCaos.a6        =(ULONG) NVBase;    
  119.     return((struct MinList *)PPCCallOS(&MyCaos));
  120. }
  121.  
  122. #define    SetNVProtection(appName, itemName, mask, killRequesters)    _SetNVProtection(NONVOLATILE_BASE_NAME, appName, itemName, mask, killRequesters)
  123.  
  124. static __inline BOOL
  125. _SetNVProtection(void *NVBase, STRPTR appName, STRPTR itemName, long mask, long killRequesters)
  126. {
  127. struct Caos    MyCaos;
  128.     MyCaos.M68kCacheMode    =    IF_CACHEFLUSHALL;
  129. //    MyCaos.M68kStart    =    NULL;
  130. //    MyCaos.M68kSize        =    0;
  131.     MyCaos.PPCCacheMode    =    IF_CACHEFLUSHALL;
  132. //    MyCaos.PPCStart        =    NULL;
  133. //    MyCaos.PPCSize        =    0;
  134.     MyCaos.a0        =(ULONG) appName;
  135.     MyCaos.a1        =(ULONG) itemName;
  136.     MyCaos.d2        =(ULONG) mask;
  137.     MyCaos.d1        =(ULONG) killRequesters;
  138.     MyCaos.caos_Un.Offset    =    (-66);
  139.     MyCaos.a6        =(ULONG) NVBase;    
  140.     return((BOOL)PPCCallOS(&MyCaos));
  141. }
  142.  
  143. #define    StoreNV(appName, itemName, data, length, killRequesters)    _StoreNV(NONVOLATILE_BASE_NAME, appName, itemName, data, length, killRequesters)
  144.  
  145. static __inline UWORD
  146. _StoreNV(void *NVBase, STRPTR appName, STRPTR itemName, APTR data, unsigned long length, long killRequesters)
  147. {
  148. struct Caos    MyCaos;
  149.     MyCaos.M68kCacheMode    =    IF_CACHEFLUSHALL;
  150. //    MyCaos.M68kStart    =    NULL;
  151. //    MyCaos.M68kSize        =    0;
  152.     MyCaos.PPCCacheMode    =    IF_CACHEFLUSHALL;
  153. //    MyCaos.PPCStart        =    NULL;
  154. //    MyCaos.PPCSize        =    0;
  155.     MyCaos.a0        =(ULONG) appName;
  156.     MyCaos.a1        =(ULONG) itemName;
  157.     MyCaos.a2        =(ULONG) data;
  158.     MyCaos.d0        =(ULONG) length;
  159.     MyCaos.d1        =(ULONG) killRequesters;
  160.     MyCaos.caos_Un.Offset    =    (-42);
  161.     MyCaos.a6        =(ULONG) NVBase;    
  162.     return((UWORD)PPCCallOS(&MyCaos));
  163. }
  164.  
  165. #endif /* SASC Pragmas */
  166. #endif /* !_PPCPRAGMA_NONVOLATILE_H */
  167.